package com.test.listenerevent;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Author zz-lxf
 * @E-mail 629938044@qq.com
 * @Date 2021/12/3 11:01
 * @Version 1.0
 */
@Component
public class DmzService {

    @Autowired
    ApplicationContext applicationContext;

    // 一个需要进行事务管理的方法
    @Transactional
    public void invokeWithTransaction() {
        // 发布一事件
        applicationContext.publishEvent(new DmzTransactionEvent(this));
        // 以一条sout语句提代sql执行过程
        System.out.println("sql invoked");
    }
}
